﻿Imports Commander_Wars.Spieletools
''' <summary>
''' Wird zu erstellen des KO's Max verwendet copyright Nintendo und Intelligent System
''' </summary>
''' <remarks></remarks>
<Serializable()> Public Class KOMax
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "MAX"
        Armee = Armeen.OS.ToString
        Musik = "Max"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 2
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 2
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                OffensivStärke = New FeuerkrafttabellePanzer150
                Bewegungsbonus = Nothing
                Reichweite = -1
            Case CommanderWarsGameModi.AdvanceWars2
                OffensivStärke = New FeuerkrafttabellePanzer120
                Bewegungsbonus = Nothing
                Reichweite = -1
            Case CommanderWarsGameModi.AdvanceWarsDS
                OffensivStärke = New FeuerkrafttabellePanzer120
                Bewegungsbonus = Nothing
                Reichweite = -1
            Case CommanderWarsGameModi.CommanderWars2, CommanderWarsGameModi.AdvanceWarsDC
                OffensivStärke = New FeuerkrafttabelleCustomNahkampf(120, 100, 100)
                Bewegungsbonus = Nothing
                Reichweite = 0
            Case Else
                OffensivStärke = New FeuerkrafttabellePanzer120
                Bewegungsbonus = Nothing
                Reichweite = -1
        End Select
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Function GetBaublockade(ByVal Spieler As Integer) As Baublockade
        Return New Baublockade(Baublockade.BauBlockade.Direct, Spieler)
    End Function

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars2
                OffensivStärke = New FeuerkrafttabellePanzer140
                Bewegungsbonus = New BewegungsboniTabelleNahkampf_1
                If OhneFunktion = False Then
                    AnimationEigeneNahkampf("MAXGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                OffensivStärke = New FeuerkrafttabellePanzer160
                If OhneFunktion = False Then
                    AnimationEigeneNahkampf("MAXGABE", 2)
                End If
                GabeEingesetzt()
            Case Else
                OffensivStärke = New FeuerkrafttabellePanzer160
                If OhneFunktion = False Then
                    AnimationEigeneNahkampf("MAXGABE", 2)
                End If
                GabeEingesetzt()
        End Select
        
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                OffensivStärke = New FeuerkrafttabellePanzer170
                Bewegungsbonus = New BewegungsboniTabelleNahkampf_1
                If OhneFunktion = False Then
                    AnimationEigeneNahkampf("MAXGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWars2
                OffensivStärke = New FeuerkrafttabellePanzer160
                Bewegungsbonus = New BewegungsboniTabelleNahkampf_2
                If OhneFunktion = False Then
                    AnimationEigeneNahkampf("SPEZIALGABE", 2)
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDS
                OffensivStärke = New FeuerkrafttabellePanzer190
                If OhneFunktion = False Then
                    AnimationEigeneNahkampf("SPEZIALGABE", 2)
                End If
                GabeEingesetzt()
            Case Else
                OffensivStärke = New FeuerkrafttabellePanzer180
                If OhneFunktion = False Then
                    AnimationEigeneNahkampf("SPEZIALGABE", 2)
                End If
                GabeEingesetzt()
        End Select
       
    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

<Serializable()> Public Class KOBeschreibungMax
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Max"
        Fein = "Krafttraining"
        Nein = "Studieren"
        Beschreibung = New String() {"Ein guter und loyaler Freund.", "Zu dem ein guter Kämpfer.", "Er hasst alle Arten von Verrat", "und bevorzugt gute alte", "Schlägereien."}
        Stil = New String() {"Hat starke Nahkampfeinheiten,", "allerdings sind seine", "Fernkampfeinheiten schwächer", "und haben eine geringere", "Reichweite."}
        Gabebeschreibung = New String() {"Die Feuerkraft seiner", "Nahkampfeinheiten steigt."}
        SpezialgabeBeschreibung = New String() {"Die Feuerkraft seiner", "Nahkampfeinheiten steigt enorm."}
        GabeKosten = 3
        Spezialgabekosten = 3
        Gaben = New String() {"Maximum", "Max Maximal"}
        Synergie = New Decimal() {2, 1, 0.5#, 0.5#, -1, 1, 0.5#}
        KONamen = New String() {"KID", "ANDY", "NELL", "TAMI", "VON BOLT", "SOPHIE", "ERIC"}
        Doppelgabenamen = New String() {"Kraftakt", "Großes Land", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Show der Stärke", "Alte Rivalen"}
        Gabesätze = New String() {"Fahrt meine Panzer! Fahrt!" _
                                  , "Nun wirst du verletzt werden." _
                                  , "Hey! Gib auf solange du noch kannst." _
                                  , "Willst du mich testen? Ich werde nicht verlieren." _
                                  , "Das ist genug! Geh mir aus dem Weg!" _
                                  , "Zeit die Samthandschuhe aus zu ziehen."}
        Siegsätze = New String() {"Das war ein ganzes Stück arbeit." _
                                , "Ha! Es braucht mehr um mich zu besiegen." _
                                , "Ich bin in fahrt."}
        Tauschsätze = New String() {"Ich werde euch wie ein Papierboot zerknüllen." _
                                    , "Weiter geht's."}
        Doppelgabesätze = New DoppelGabesatz() {New DoppelGabesatz("KID", "MAX", "Meine Fernkampfwaffen und deine Nahkampfwaffen...", "Wir sind ein Superteam.") _
                                              , New DoppelGabesatz("KID", "MAX", "Das wird schwieriger, als Schnecken mit Eimer zu sammeln.", "... Einem Eimer?") _
                                              , New DoppelGabesatz("ANDY", "MAX", "Lass es uns tun Max.", "Ja! Wir zerbrechen sie wie Zahnstocher.") _
                                              , New DoppelGabesatz("ANDY", "MAX", "Wenn es ein Tag-Duell ist...", "sind wir die Besten.") _
                                              , New DoppelGabesatz("ERIC", "MAX", "Ich bin der Stärkste und Beste.", "Komm her. Dich mach ich platt.") _
                                              , New DoppelGabesatz("ERIC", "MAX", "Ich werde alles zerstören!", "Lass mir was übrig ich bin stärker!")}
    End Sub
End Class
